In May we ran the full version of C++Builder on the SuperCD for the first time. The response was amazing, and we've received many requests to run it again. Here it is, complete with the original great offer to upgrade to C++Builder 3! And on the other SuperCD you will find Dave Jewell's C++ Workshop.
What is C++Builder? Here's the PC Plus review by Dave Jewell from issue 127: C++ meets Borland Delphi
When you first fire up the C++Builder development system, you'll
probably think you're using Delphi. Not only does C++Builder feature all the same components that
you'll find in Delphi 2.0, but it also shares a lot of the design-time code with Delphi as well.
If you're familiar with Delphi, and you also speak C++, then you'll be building applications within a very short
time. For those who haven't previously used Delphi, C++Builder comes as something of a revelation.
Much of the legendary complexity of the Windows API is hidden behind the face of Borland's VCL
(Visual Component Library, thereby making many programming tasks much more trivial than they
previously were.
 (Disc 1) (1998).iso/images/sscp1.gif)
For example, suppose you want to display a bitmap in a window, but you don't want
the background colour of the bitmap to be displayed - you want it to become transparent. This is dead
easy with VCL, the whole thing taking just one call to a method named BrushCopy. To do the same thing
with 'barefoot' API calls would involve a great deal of cumbersome code.
C++Builder includes a very
rich set of drop-in components which you integrate seamlessly. A big plus point for C++Builder is the much
improved on-line help documentation. Delphi was roundly chastised for having very poor help files, and
this got even worse when Borland first released version 2.0 with lots of broken links and missing topics in
the help files. This has now been fixed (more or less), and the on-line documentation has been completely
redone for C++Builder. When developing C++Builder, Borland was faced with a tough decision. It
needed to add some proprietary extensions to C++ in order to make it work with the component-based,
property-oriented VCL library. Should it keep C++ as an industry language, or should it add some new
keywords to support the needed functionality? The final result was a compromise; the dialect of C++
used in C++Builder includes proprietary new keywords such as __property. You can distinguish
between Borland keywords and industry standard language features by checking for the two underscores
at the front. As with Delphi, C++Builder includes the BDE (Borland Database Engine), Database
Explorer program and a rich set of data-aware controls. Documentation has been much improved in C++
Builder with new help files covering the VCL, the RTL (Run-Time Library) and an on-line Borland have
rewritten a number of Delphi sample programs for C++Builder. This is the well-known (Threads)
demo, which uses separate threads to implement three different sorting algorithms which integrate into your
applications without (in most cases) the need for extra DLL's. However, there is a price to pay for all
this productivity and (canned) functionality. Applications created with C++Builder will be considerably
larger than an API-only application and comparable in size to those built using Visual C++. However,
because of the size of the new Visual Basic 5.0 run-time library (1.3 Mb!) it's likely that a C++Builder
application will be considerably smaller than the equivalent Visual Basic program.
|
 (Disc 1) (1998).iso/images/step1.gif) |
 (Disc 1) (1998).iso/images/step2.gif) |
 (Disc 1) (1998).iso/images/step3.gif) |
As with Delphi, you
can create your own components using C++Builder itself and then install them on the Component Palette
for reuse in your own applications. Understandably, many Delphi developers sell their components to
other programmers and the same will almost certainly happen with C++Builder. A major selling point of
C++Builder is its ability to re-use existing Delphi code. Those 100-odd bundled components don't just
look the same as Delphi controls - they are Delphi controls. Ever since Delphi 2.0, Borland's Pascal
compiler has been able to generate .OBJ files, and these can be used directly from inside C++Builder.
This means that you can now re-use both controls and complete Delphi forms inside your C++Builder
project.
C++Builder in Action
Creating a C++Builder application is basically a question of adding one
or more components to a form, changing their properties to suit your requirements and then gluing the
whole thing together by writing one or more event handlers which respond to mouse clicks, key-presses
and other (events). The system contains the same set of data-aware components that you get with
Delphi 2.0, so you can create powerful database front-end applications with very little (and sometimes
zero!) coding. Because C++Builder is designed for the 32-bit Windows API, you get full access to
advanced API capabilities such as threads - a demo program is included which demonstrates three
different sorting algorithms using three independent threads of execution.
Other API capabilities such as
registry usage are neatly encapsulated into reusable VCL objects, making them much easier to program
than they'd otherwise be. On the negative side, C++Builder isn't as sprightly as Delphi. This is an
inevitable consequence of using C++, which involves a more complex (and slower) compiler than Pascal.
In order to speed things up a bit, Borland has chosen to use the same incremental linking technology
that's found in its regular C++ development system. While this makes for a more rapid development
cycle, it generates several megabytes worth of intermediate files which sit around on your hard disk until
you specifically delete them.
If you're short of disk space, use incremental linking and have several
projects on the go at once, then you'll need to keep a careful eye on all those intermediate files. From a technology point of view, C++Builder is at about
the level of Delphi 2. It includes all the Delphi 2.0 controls and implements form inheritance, but doesn't
support packages (Delphi 3's ability to create tiny executables by putting the VCL code into a .DLL) or
the ability to make reusable component groups.
Our verdict
For many developers, implementation
language is the key issue. Those who've worshipped Delphi from afar but didn't fancy getting tied into a
single-vendor language will no doubt be very enthusiastic about C++Builder. The fact is, this product
represents a quantum leap in technology when compared to competing C++ development systems.
We've included a collection of freeware and shareware components and sample programs for Borland C++Builder. Some of these may be used as-is, others can give you useful pointers for your own programs.
You'll find the software in the folders c10free and c10share below the full/cbuilder folder on the SuperCD. Please note that these programs are not tested or supported by us or Borland, and you use them at your own risk, just as if you had downloaded them from the Internet.
Thanks to the Delphi SuperPage for these files!
Product details
|